#include <iostream>

using std::cout;
using std::endl;

void test()
{
    int value = 1;
    int number = 100;
    int *pInt = &value;

    printf("%p\n", &pInt);//pInt本身的地址
    printf("%p\n", &value);//value的地址
    printf("%p\n", pInt);//pInt指向的变量value的地址
    printf("%d\n", *pInt);//pInt指向变量的值
    printf("%d\n", value);//value的值
                          
    //想通过pInt修改valud的值为20
    *pInt = 20;
    printf("%d\n", *pInt);//pInt指向变量的值
    printf("%d\n", value);//value的值

    cout << endl << endl;
    //想让pInt指向number
    pInt = &number;
    printf("%p\n", &value);//value的地址
    printf("%p\n", &number);//number的地址
    printf("%p\n", pInt);//pInt指向的变量number的地址

    //对于指针而言，就需要注意两点：
    //1、指针所指向的变量的值
    //2、指针的指向
}

int main(int argc, char *argv[])
{
    test();
    return 0;
}

